//    pComboBox.cpp : Defines the class behaviors for the application.
//
//    Copyright 2008,2009 Paul Jorgensen
//
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program.  If not, see <http://www.gnu.org/licenses/>.


#include "stdafx.h"
#include "pComboBox.h"
#include "pComboBoxDlg.h"
#include "pf_ParseString2.h"



#ifdef _DEBUG
#define new DEBUG_NEW
#endif

CString sCmdLine1;  // The commandline parameters
//CString TokenStrings_SlashP[30];  // The parsed commandline tokens
//CString TokenStrings_SlashT[30];  // The parsed commandline tokens
extern pf_ParseString po_CmdLineTokens;  // the pf_ParseString class initialized object



// CpComboBoxApp

BEGIN_MESSAGE_MAP(CpComboBoxApp, CWinApp)
	ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()


// CpComboBoxApp construction

CpComboBoxApp::CpComboBoxApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
	
	
}


// The one and only CpComboBoxApp object

CpComboBoxApp theApp;




// return an errorlevel variable to the system on exit
// created by Paul Jorgensen, april 21 2008
int CpComboBoxApp::ExitInstance()
{
	
	AfxPostQuitMessage(po_CmdLineTokens.pf_Getpi_ErrorLevel());
	return po_CmdLineTokens.pf_Getpi_ErrorLevel();  //iExitCode;

}


// CpComboBoxApp initialization
BOOL CpComboBoxApp::InitInstance()
{
	int iParseResult,result;
	CString sTempString,sTempString2;
	sTempString2 += "test";
	//LPCTSTR sSetEnvValue1;
	//LPCTSTR sEnvVarName1;
	//** to set an environment variable - have to set in registry
	//**Change the registry settings. For example, in Win2K they are found at:
	//**HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SessionManager\Environment

	// InitCommonControlsEx() is required on Windows XP if an application
	// manifest specifies use of ComCtl32.dll version 6 or later to enable
	// visual styles.  Otherwise, any window creation will fail.
	INITCOMMONCONTROLSEX InitCtrls;
	InitCtrls.dwSize = sizeof(InitCtrls);
	// Set this to include all the common control classes you want to use
	// in your application.
	InitCtrls.dwICC = ICC_WIN95_CLASSES;
	InitCommonControlsEx(&InitCtrls);

	CWinApp::InitInstance();

	if (!AfxSocketInit())
	{
		AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
		return FALSE;
	}

	AfxEnableControlContainer();

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	// of your final executable, you should remove from the following
	// the specific initialization routines you do not need
	// Change the registry key under which our settings are stored
	// TODO: You should modify this string to be something appropriate
	// such as the name of your company or organization
	SetRegistryKey(_T("Green-Frog-Software"));
	result=CpComboBoxApp::pf_SetupRegistryItems();
	// get the command line
	sCmdLine1 = CWinApp::m_lpCmdLine;
	//AfxMessageBox(sCmdLine1);
	

	CpComboBoxDlg dlg;
	m_pMainWnd = &dlg;
	//AfxMessageBox(_T("test"));
	iParseResult=po_CmdLineTokens.fParseCommandline_pComboxBox(&dlg);
	// if successful update the comboxbox in the dialog class
	
	 INT_PTR nResponse = dlg.DoModal();
	 if (nResponse == IDOK)
	 {
		// TODO: Place code here to handle when the dialog is
		//  dismissed with OK
		 // **** temp comment below because of ok on no change - testing
		 if(po_CmdLineTokens.pf_Getpi_ErrorLevel() == 0) {
			po_CmdLineTokens.pf_Setpi_ErrorLevel(101);
		 }
	 }
	 else if (nResponse == IDCANCEL)
	 {
		// TODO: Place code here to handle when the dialog is
		//  dismissed with Cancel
	    po_CmdLineTokens.pf_Setpi_ErrorLevel(0);
		//iExitCode1=0;
	 }
	

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}










int CpComboBoxApp::pf_SetupRegistryItems(void)
{
	CWinApp* pApp = AfxGetApp();

	CString strSection       = _T("RData");
	CString strStringItem    = _T("PComboBox");
	CString strIntItem       = _T("Result");

	pApp->WriteProfileString(strSection, strStringItem, _T("none"));

	return 1;
}
